﻿using System;

namespace Progream05
{
    class Program
    {
        static void Main(string[] args)
        {
            string xb;//性别
            int sg;//身高
            int tz1;//体重
            //double tz2;//标准体重
            Console.WriteLine("请输入您的性别<男/女>");
            xb = Console.ReadLine();
            while(!(xb=="男"||xb=="nv"))
            {
                Console.WriteLine("您的输入不合法，请重新输入！");
                xb = Console.ReadLine();
            }
            //判定用户身高
            Console.WriteLine("请输入您的身高：");
            while (!(int.TryParse(Console.ReadLine(),out sg)&&sg>50))
            {
                Console.WriteLine("您的输入不合法，请重新输入！");
            }
            //判定用户体重
            Console.WriteLine("请输入您的体重：");
            while (!(int.TryParse(Console.ReadLine(), out tz1) && tz1 > 20))
            {
                Console.WriteLine("您的输入不合法，请重新输入！");
            }
            //输入判断健康的结果信息
            string message = "";
            //调用方法判定健康状况
            message = DetectWeight(GetStandardWeight(xb, sg,tz1),tz1);
            Console.WriteLine("您的健康状况是：" + message);
            //if (xb == "男")
            //{
            //    Console.WriteLine("请输入您的身高<cm>;");
            //    sg = Convert.ToInt32(Console.ReadLine());
            //    Console.WriteLine("请输入您的体重<kg>;");
            //    tz1 = Convert.ToInt32(Console.ReadLine());
            //    tz2 = (sg - 80) * 0.7;
            //    if (tz1 >= tz2 * 0.9 && tz1 <= tz2 * 1.1)
            //    {
            //        Console.WriteLine("您的健康状态是：体重正常");
            //    }
            //    else if (tz1 >= tz2 * 0.8 && tz1 <= tz2 * 0.9)
            //    {
            //        Console.WriteLine("您的健康状态是：体重偏瘦");
            //    }
            //    else if (tz1 > tz2 * 1.1 && tz1 <= tz2 * 1.2)
            //    {
            //        Console.WriteLine("您的健康状态是：体重偏胖");
            //    }
            //    else if (tz1 > tz2 * 1.2)
            //    {
            //        Console.WriteLine("您的健康状态是：体重过胖，该减肥了");
            //    }
            //    else if (tz1 < tz2 * 0.8)
            //    {
            //        Console.WriteLine("您的健康状态是：体重严重不足");
            //    }
            //}
            //if (xb == "女")
            //{
            //    Console.WriteLine("请输入您的身高<cm>;");
            //    sg = Convert.ToInt32(Console.ReadLine());
            //    Console.WriteLine("请输入您的体重<kg>;");
            //    tz1 = Convert.ToInt32(Console.ReadLine());
            //    Tz2 = (Sg - 70) * 0.6;
            //    if (tz1 >= tz2 * 0.9 && tz1 <= tz2 * 1.1)
            //    {
            //        Console.WriteLine("您的健康状态是：体重正常");
            //    }
            //    else if (tz1 >= tz2 * 0.8 && tz1 <= tz2 * 0.9)
            //    {
            //        Console.WriteLine("您的健康状态是：体重偏瘦");
            //    }
            //    else if (tz1 > tz2 * 1.1 && tz1 <= tz2 * 1.2)
            //    {
            //        Console.WriteLine("您的健康状态是：体重偏胖");
            //    }
            //    else if (tz1 > tz2 * 1.2)
            //    {
            //        Console.WriteLine("您的健康状态是：体重过胖，该减肥了");
            //    }
            //    else if (tz1 < tz2 * 0.8)
            //    {
            //        Console.WriteLine("您的健康状态是：体重严重不足");
            //    }
            //}
        }
        /// <summary>
        /// 计算标准体重
        /// </summary>
        /// <param name="xb">性别</param>
        /// <param name="sg">身高</param>
        /// <param name="tz1">体重</param>
        /// <returns></returns>
        public static int GetStandardWeight(string xb,int sg,int tz1)
        {
            int standardWeight;
            if(xb=="男")
            {
                //男士的标准体重
                standardWeight = (sg - 80)*7/10;
              
            }
            else
            {
                //女士的标准体重
                standardWeight = (sg - 70) * 3 / 5;
            }
            return standardWeight;
        }
        /// <summary>
        /// 检查健康状态
        /// </summary>
        /// <param name="standardsg">标准体重</param>
        /// <param name="tz1">用户体重</param>
        /// <returns></returns>
        public static string DetectWeight( int standardWeight, int tz1)
        {
            string message = "";
            if((tz1-standardWeight)>0)
            {
                //体重正常，过重，肥胖
                if (tz1 < standardWeight * 11 / 10)
                    message = "体重正常";
                else
                { 
                    if (tz1 > standardWeight * 11 / 10&& tz1 < standardWeight * 12 / 10)
                     message = "体重过重";
                else
                    message = "肥胖";
                }
            }
            else
            {
                //体重正常，不足
                //体重正常,体重过轻，体重不足
                if (tz1 > standardWeight * 9 / 10)
                    message = "体重正常";
                else
                {
                    if (tz1 < standardWeight * 9 / 10 && tz1 > standardWeight * 8 / 10)
                        message = "体重过轻";
                    else
                        message = "体重不足";
                }
            }
            return message;
        }
    }
}
